شرکت کامپیوتر انفورماتیک آذر سهند کایا

شرکت کامپیوتر انفورماتیک آذر سهند کایا


yourbazdid

در سال ۱۹۷۵ راجر استوباک به همراه تیم خود به نام دالاسکابویز در یک مسابقه فوتبال امریکایی در مقابل تیم مینستوتا ویکینگز شرکت کرد. در انتهای بازی، در شرایطی که تنها ۲۴ ثانیه تا پایان آن باقی بود و تیم دالاس چهار امتیاز عقب بود، راجر چشمان خود را بست، دعا کرد و توپ را از میانه میدان با تمام قدرت پرتاب کرد (این وضعیت در فوتبال مانند این است که دیوید بکهام در پایان وقت اضافی از وسط زمین توپ را شوت کند و گل بزند). دعای استوباک مستجاب شد. مهاجمی که استوباک توپ را برایش ارسال کرده بود، به یکی از مدافعان تیم ویکینگز برخورد کرد، اما توانست به توپ ضربه بزند و امتیازی را کسب کند که تیم کابویز را به مسابقات سوپر بول میبرد (این وضعیت مانند این بود که توپ بکهام قبل از گل شدن با دروازهبان برخورد کند). سی سال بعد صنعت نیمهرسانا در شرایطی که رویکرد تولید پردازندههای توانمند را با تولید پردازندههای چندهستهای جایگزین کرد، چیزی مشابه آن پاسهای طلایی را تجربه کرد؛ زیرا فعالان این صنعت هیچ ایده واضحی درباره نحوه برنامهنویسی پردازندههای جدید نداشتند. بسیاری امیدوارند که راهحل مناسبی برای برنامهنویسی این پردازندهها ارائه شود، اما در حال حاضر توپ همچنان در هوا است. سؤال این است که چرا باید خطر چنین تغییر رویکردی را قبول کنیم؟ بهطور خلاصه پاسخ این است که هیچ راهحل جایگزین دیگری در اختیار نداریم.

طراحان ریزپردازندهها برای سالیان دراز بهمنظور افزایش توان پردازشی از میلیونها ترانزیستور در هر تراشه استفاده کردهاند. آنها پردازندههایی را تولید کردند که توانایی اجرای چندین پردازش را بهطور همزمان داشت. برای مثال، این پردازندهها همزمان با اجرای یک دستورالعمل میتوانستند دستورالعمل دیگری را از حافظه سیستم استخراج کنند. از طرفی تولیدکنندگان تراشهها بهطور دائم سرعت کلاک پردازندهها را تا حدی که اندازه در حال کاهش ترانزیستورها اجازه میداد، بالا برده بودند.

در سال ۲۰۰۳ تولیدکنندگان تراشه متوجه شدند، دیگر نمیتوانند ولتاژ عملیاتی ترانزیستورها را مانند قبل کاهش دهند و در نتیجه نمیتوانند با همان نرخ، اندازه ترانزیستورها را کاهش و سرعت تراشهها را افزایش دهند. این وضعیت به افزایش گرمایی منجر شد که در هر میلیمتر مربع از سیلیکون تولید میشد.

در نتیجه، طراحان با مشکلی مواجه شدند که از آن با عنوان دیوار توان یاد میشود؛ یعنی حداکثر توان قابل دستیابی برای هر پردازنده، بهدلیل افزایش بسیار زیاد گرما با محدودیت چشمگیری مواجه شد. بههرحال فروش لپتاپی که آستین کاربر را به آتش کشد، بسیار دشوار است. اکنون طراحان این واقعیت را پذیرفتهاند که با وجود کوچکتر شدن ترانزیستورها، امکان افزایش سرعت پردازندهها بهواسطه افزایش تعداد ترانزیستورهای یک تراشه وجود ندارد (لازم به یادآوری است که حداکثر سرعت کلاک پردازندههای امروزی از نمونههای تولید شده در ۵ سال قبل پایینتر است).

بنابراین، اگر تعداد بسیارزیادی ترانزیستور را درون یک پردازنده بزرگ قرار دهید، به احتمال سرعت پردازش آن بیش از یک تراشه امروزی نخواهد بود. این واقعیت، رویکرد جدید را که در آن ترانزیستورهای مذکور را بهجای یک پردازنده در چندین هسته پردازشی نصب میکنند، بهخوبی توجیه میکند.

با وجود اینکه توان پردازشی هستههای مذکور کمتر از یک پردازنده است، امکان استفاده همزمان از چندین هسته پردازشی برای کاربر وجود دارد. چنین تراشههای پیشرفتهای بهمنظور تمایز با پردازندههای متداول، با عنوان ریزپردازندههای چندهستهای یا زمانی که تعداد هستهها زیاد باشد، پردازندههای پرهسته، شناخته میشوند. از دیدگاه کریس رون، رئیس و مدیر ارشد فناوری در مؤسسه Tensilica واقع در سانتا کلارای کالیفرنیا هستههای پردازشی جایگزین ترانزیستورها شدهاند. از این پس طراحان تراشه همانند نسل قبل از خود که راههایی را برای بهکارگیری میلیونها ترانزیستور در یک تراشه ابداع کردند، برای یافتن راهحلهای مناسب بهمنظور گردآوری تعداد زیادی هسته پردازشی درون یک واحد پردازنده تلاش میکنند.

قسمت مشکل کار، تعیین یک رویکرد برنامهنویسی مناسب برای استفاده از قابلیتهای این هستههای پردازشی است؛ بهگونهای که مدت زمان لازم برای تولید نرمافزارها افزایش نیابد و کیفیت آنها نیز حفظ شود. بنابراین اکنون زمان دعا کردن فرا رسیده است؛ زیرا انجام این کار چندان ساده نیست.

هنگامی که پل اتلینی مدیرعامل و رئیس هیئت مدیره شرکت اینتل در سال ۲۰۰۴ اعلام کرد، شرکت وی «طراحی تمام محصولات بعدی را براساس محیطهای چندهستهای» انجام خواهدداد، چرا این رویکرد را «یک نقطه عطف کلیدی در صنعت IT» معرفی کرد؟ کافی است با شرکتهایی که با ورود به دنیای پردازندههای چندهستهای همهچیز خود را از دست دادند، آشنا باشید تا پاسخ این پرسش را بهوضوح دریابید. شرکتهایی مانند Ardent Convex ،Encore ،Floating Point Systems Inmos ،Kendall Square Research MasPar ،nCUBE Sequent Tandem و Thinking Machines تنها نمونههای شناختهشدهای از یک فهرست طولانی هستند که آینده خود را با دل بستن به امیدهای واهی پردازش موازی از دست دادند.

اتلینی سخنان خود را با نادیده گرفتن این واقعیت مهم ابراز کرد که نرمافزارهای آینده تنها در صورتی با سرعت بیشتر اجرا میشوند که برنامهنویسان بتوانند نرمافزارهایی با قابلیت اجرای موازی روی پردازندههای تولید شده توسط اینتل و سایر تولیدکنندگان تراشه بنویسند.

پرسش اینجا است که چرا پردازش موازی تا این حد چالشبرانگیز است؟ برای پاسخگویی به این پرسش باید از تمثیل کمک بگیریم. برنامهنویسی از بسیاری جهات شبیه نوشتن داستانهای خبری است. در بهترین حالت ده گزارشگر میتوانند یک داستان را به میزان ده بار سریعتر از یک گزارشگر تنها بنویسند. اما باید این وظیفه را به ده قسمت مساوی تقسیم کنند؛ در غیر این صورت نمیتوانند به حداکثر سرعت دستیابند. حال شرایطی را درنظر بگیرید که نوشتن بخشی از داستان تا تکمیل شدن یک بخش دیگر آن امکانپذیر نباشد. همچنین تمام گزارشگران، بدون انجام امور تکراری باید مطمئن شوند که هر بخش از متن با قسمتهای قبلی و بعدی آن متناسب است. همچنین باید فعالیت خود را زمانبندی کنند تا همگی بهطور همزمان کار خود را به پایان برسانند. زیرا بدون تکمیلشدن داستان نمیتوان آن را منتشر کرد. این موارد ( تقسیم کار، وابستگیهای زنجیرهای و همگامسازی امور) چالشهای اصلی برنامهنویسان موازی هستند.
محققان از دهه ۱۹۶۰ میلادی به دنبال روشهایی برای حل این مشکلات هستند. در این راه روشها و ایدههای بسیاری مورد آزمون قرار گرفتند و تقریباً تمام آنها با شکست مواجه شدند. یکی از ایدههای اولیه این بود که با استفاده از زبان برنامهنویسی مناسبمیتوان مشکلات برنامهنویسی موازی را برطرف کرد. برای ارائه چنین زبانهایی صدها (و شاید هزاران) تلاش ناموفق صورت گرفت که بهعنوان مثال میتوان به زبانهای منسوخ شده APL، Id، Linda، Occam و SISAL اشاره کرد. بعضی از این زبانها برنامهنویسی موازی را آسان کردند، اما هیچیک نتواستند سرعت، کارایی و انعطافپذیری برنامهنویسی سنتی زنجیرهای را به آن بدهند. همچنین هیچیک از این زبانها به اندازه زبانهای مورد استفاده برای برنامهنویسی زنجیرهای محبوبیت نیافتند.

یکی دیگر از امیدهای طراحان این بود که با طراحی مناسب تجهیزات سختافزاری بتوان برنامهنویسی موازی را آسان کرد. بسیاری از سرمایهگذاران خصوصی نیز گرفتار این ایده بیفرجام شدند. بسیاری سعی کردند، معماری آرمانی دنیای کامپیوتری را پیادهسازی کنند، اما تا کنون هیچکس موفق به انجام این کار نشده است.

یکی دیگر از ایدههایی که در دهه ۱۹۶۰ مطرح شد، ایجاد نرمافزاری بود که بهطور خودکار برنامههای زنجیرهای را به برنامههای موازی تبدیل کند. تجربه نشان میدهد، در این مورد میزان موفقیت برنامه با تعداد هستههای پردازشی نسبت معکوس دارد. با توجه به نوع نرمافزار، استفاده از این روش برای اجرای موازی آن روی ۲، ۴، ۶ یا ۸ هسته مزایایی را در پی دارد. اما بسیاری از متخصصان بهرغم نتایج مثبتی که از تحقیقات اخیر به دست آمده است، به کارایی این شیوه برای اجرای موازی برنامهها روی ۳۲، ۶۴ یا ۱۲۸ هسته شک دارند.

بهطور کلی اوضاع خوب بهنظر نمیرسد. با وجود این، در بعضی از زمینهها پیشرفتهایی به چشم میخورد. در مجموع باید گفت، موازیسازی تنها زمانی قابل پیادهسازی است که بتوانید گروهی متشکل از برنامه نویسانی در سطح دکترا را برای حل یک مسئله با اجزای متعدد و مستقل از هم گرد هم آورید. بهعنوان مثال، میتوان به بانکهای اطلاعاتی مورد استفاده برای مدیریت تراکنشهای دستگاههای خودپرداز یا بانکهای اطلاعاتی مورد استفاده در خطوط هوایی برای ردگیری بلیتهای رزرو شده توسط مسافران اشاره کرد. جستوجوی اینترنت نیز یک مثال دیگر از کاربردهای موازیسازی است. استفاده از موازیسازی در برنامههایی که تعداد زیادی از کاربران وظایف تقریباً یکسانی را انجام میدهند، در مقایسه با مواردی که یک کاربر عملیات بسیار پیچیدهای را اجرا میکند، سادهتر است. زیرا بهسادگی میتوانید از سیستم ذاتاً موازی عملیات مورد نظر بهرهبرداری کنید.

یکی دیگر از کاربردهای عملی موازیسازی، ایجاد گرافیک کامپیوتری است. فیلمهای انیمیشنی و فیلمهایی که از جلوههای ویژه کامپیوتری بهره میبرند، نوعی از موازیسازی را بهکار میگیرند که در آن صحنههای مستقل بهطور موازی پردازش میشوند. برنامهنویسان هوشمند از قابلیت موازیسازی برای پردازش هریک از تصویرها نیز بهره میبرند. پردازندههای گرافیکی پیشرفتهای که برای اجرای بازیها روی کامپیوترهای شخصی بهکار گرفته میشوند، گاهی حاوی صدها هسته پردازشی هستند که هریک تنها بخش کوچکی از فرآیند رندر تصاویر را به انجام میرساند. دانشمندان علوم کامپیوتر برای اشاره به این نوع کاربرد از عبارت «موازیسازی در سطح داده» استفاده میکنند. با وجود اینکه تولید این برنامهها مشکل است، در مقایسه با نمونههایی که از چنین قابلیت موازیسازی بیبهرهاند، کارایی بیشتری دارند.

استفاده از موازیسازی در انجام محاسبات علمی نیز دستاوردهایی را در پیداشتهاست. بهعنوان دو مثال شناختهشده میتوان به پیشبینی وضع آب و هوا و شبیهسازی تصادفات اتومبیل اشاره کرد. چنین برنامههایی بهمدت طولانی اجرا میشوند و مستلزم مجازیسازی در سطح دادهها هستند. توسعهدهندگان این برنامهها بهطور معمول گروههایی متشکل از متخصصان علم مربوط و همچنین متخصصان علوم کامپیوتر هستند و اغلب در رشته تخصصی خود مدرک دکترا دارند. گروههای تولید کننده برنامههای دسکتاپ به ندرت از چنین منابع اطلاعاتی با ارزشی برخوردار هستند.

دستیابی به موفقیت
با توجه به این وضعیت ناگوار، به احتمال انتظار موفقیت جنبش نوپای موازیسازی را ندارید. با وجود این، هنوز هم دلایلی برای امیدواری به آینده این جنبش وجود دارد. پیش از هرچیز، تمام دستاندرکاران صنعت کامپیوتر بهدنبال راهحلی برای این مسئله هستند. فرآیند انتقال به فناوریهای موازیسازی آغاز شده و به آرامی پیش میرود. برنامهنویسان بهجای انتظار کشیدن برای کار با پردازندههای ۱۲۸ هستهای، هماکنون میتوانند برنامههایی را برای استفاده از پردازندههای دو و چهارهستهای توسعه دهند.

با وجود این، یکی از مؤثرترین عوامل پیشرفت این جنبش، میزان انگیزش آن است. در گذشته برنامهنویسان میتوانستند به انتظار سریعتر و کوچکتر شدن ترانزیستورها بنشینند تا به پردازندههای توانمندتری دست یابند. به این ترتیب، برنامهها بدون نیاز به هیچگونه تحولی در شیوه برنامهنویسی با سرعت بیشتری اجرا میشدند. این رویکرد مانع بزرگی در راه علاقهمندان ایجاد نرمافزارهای موازی بود. اکنون دوره تنبلی کردن (La-Z-Boy) در عرصه کارایی نرمافزارها به پایان رسیده و برنامهنویسان برای افزایش کارایی باید به فکر موازیسازی برنامههای خود باشند.

یکی دیگر از دلایل بالقوه موفقیت، همافزایی دو مفهوم پردازش چندهستهای و ارائه نرمافزار بهعنوان خدمات (یا پردازش ابری) است. بهعنوان نمونهای از این خدمات میتوان به جستوجوی گوگل، هاتمیل و salesforce اشاره کرد. در این خدمات، نرمافزارهای موردنیاز کاربران بهجای کامپیوتر شخصی آنان در یک دیتاسنتر راه دور اجرا میشود. علت محبوبیت این خدمات، آسان شدن کار تأمینکنندگان و کاربران خدمات است. برای استفاده ازاین نوع خدمات به نصب، بروزرسانی و ترمیمبرنامهها نیازی نیست و کاربران تنها به یک نرمافزار مرورگر نیاز دارند. تأمینکنندگان نرمافزار نیز از این رویکرد راضی هستند، زیرا نرمافزارهای آنان درون یک دیتاسنتر و در یک محیط کنترلشده به اجرا در میآیند. توسعه نرمافزارها در این شرایط نسبت به زمانی که نرمافزارها به روش سنتی برای اجرا روی کامپیوترهای مختلف با پیکربندیهای متفاوت توسعه داده میشوند، بسیار سریعتر است.

برنامهنویسان با تجربه میتوانند از موازیسازی در سطح وظایف که در پردازش ابری بهطور ذاتی وجود دارد، بهره بگیرند. این برنامهنویسان برای خدمترسانی به میلیونها کاربر، فرآیند کار را بهگونهای تقسیم میکنند که بهطور همزمان روی هزاران کامپیوتر اجرا شود. از آنجا که چنین نرمافزارهایی از پردازندههای متعدد استفاده میکنند، اجرای آنها با استفاده از پردازندههای چندهستهای کار سادهای خواهد بود.

این تأمینکنندگان پردازش ابری، پردازندههای چندهستهای را نه بهعنوان یک فناوری رقیب، بلکه بهعنوان روشی برای کاهش هزینههای خود میبینند. بنابراین، انتظار میرود افزایش پردازندههای چندهستهای موجب افزایش علاقه کاربران و فعالان صنعت به پردازش ابری شود.

امید برای آینده
صرفنظر از دلایل مذکور برای امیدواری به آینده جنبش موازیسازی، هنوزهم شرایط به ضرر صنعت پردازندهها است که باید راه پرخطر خود رابرای یافتن یک شیوه جامع بهمنظور اجرای موازی هرنوع نرمافزار روی پردازندههای چندهستهای به پایان برساند. نگارنده و سایر محققان فعال در زمینه پردازش موازی (در دانشگاه جورجیا تک، ایلینوی، رایس، استنفورد و برکلی کالیفرنیا) انتظار وقوع چنین اتفاقی را ندارند. بنابراین، بهجای تلاش برای ایجاد یک زبان برنامهنویسی یا معماری کلی کامپیوتر، بهدنبال تولید برنامههایی با کاربرد مهم هستیم که بتوانند از قابلیتهای پردازندههای چندهستهای بهره بگیرند.


هیچ یک از گروههای مذکور موفق به تولید یک برنامه کامل و جامع نشدهاند و البته انجام این کار نیز هدف نهایی محققان نبوده است. امیدواریم نرمافزار و سختافزاری که تولید میکنیم، کلید استفاده روزمره از پردازش موازی باشد. اگر در این کار موفق شویم، اقدامات ما راهگشایی برای تولید برنامهای است که تمام خصوصیات مورد نظر را داشته باشد.

من و همکارانم در آزمایشگاه موازیسازی برکلی (موسوم به Par Lab) تصمیم گرفتیم، توسعه تعداد محدودی از برنامهها را بهعنوان هدف خود درنظر بگیریم. یکی از آنها ابزاری برای تشخیص گفتار یا در واقع درک گفتار است. امید ما این است که برنامه تشخیص گفتار را بهگونهای بهبود دهیم که یک کامپیوتر بتواند کلمات گفتهشده در یک محیط شلوغ، پرسروصدا و پرانعکاس را تشخیص دهد. این نرمافزار باید چندین گام جلوتر از سایر نرمافزارهای تشخیص گفتار پیش برود و قابلیتهایی مانند تهیه بیدرنگ متن گفتار را در اختیار کاربر گذارد. چنین نرمافزاری در حال حاضر وجود دارد، اما این نوع نرمافزارها خطاهای بسیار زیادی دارند.

یکی از مشکلاتی که در جریان تحقیقات، گرفتار آن هستیم، عدم تولید پردازندههایی با تعداد هستههای زیاد است. بنابراین، هیچ ابزاری برای اجرای نرمافزار خود نداریم. از طرفی طراحی و تولید پردازندههای پر هسته مستلزم صرف سالها زمان و میلیونها دلار هزینه است. اصولاً میتوانیم چنین پردازندهای را بهطور نرمافزاری شبیهسازی کنیم، اما با توجه به میزان جزئیات موردنیاز، شبیهسازی نرمافزاری چندثانیه از عملکرد یک پردازنده ۱۲۸ هستهای چندین روز بهطول میانجامد. این، واقعیت به این معنی است که تکرار فرآیند بهبود نرمافزار و سختافزار بسیار کند خواهدبود.

با وجود این، میتوان مشکل مذکور را با استفاده از مدارهای مجتمع FPGA (سرنام Field Programmable Gate Array) برای شبیهسازی کامپیوترهای آینده برطرف کرد. مدارهای مجتمع FPGA متشکل از مجموعههای بزرگی از مؤلفههای الکترونیکی هستند که با استفاده از یک زبان خاص میتوان آنها را بهمنظور توصیف یک پیکربندی سختافزاری، در جریان کار به یکدیگر مرتبط کرد.

همچنین میتوان این مدارها را بهدفعات متعدد پیکربندی کرد. بنابراین، مدارهای مجتمع FPGA بهترین قابلیتهای هر دو دنیای سختافزار و نرمافزار را در اختیار کاربر میگذارند. این مدارها انعطافپذیری یک نرمافزار را دارند و در عین حال ۲۵۰ بار سریعتر از شبیهسازی نرمافزاری عمل میکنند. این چشمانداز، الهامبخش پروژهای موسوم به RAMP (سرنام Research Accelerator for Multiple Processors) شد. این پروژه با همکاری حدود دوازده دانشگاه و شرکت، به منظور ساخت و به اشتراکگذاری یک زیرساخت عمومی برای انجام تحقیقات مربوط به پردازندههای چندهستهای تعریف و اجرا شد.

تعداد پیکربندیهای RAMP و محیطهای خاص برنامهنویسی موردنیاز هنوز مشخص نشده است. در سال ۲۰۰۴ فیلیپ کوللا از آزمایشگاه ملی لارنسبرکلی مدعی شد هفت رویکرد محاسبات عددی، دنیای محاسبات علمی را در دهه آینده متحول میکنند. نگارنده بههمراه گروه کوچکی از متخصصان کامپیوتر برکلی و شخص فیلیپ کوللا مدت دو سال را برای ارزیابی کارایی این هفت تکنیک در زمینههای مختلف صرف کردیم. در پایان کار تعداد این روشها را به دوازده مورد افزایش دادیم. این روشها را بهعنوان الگوهای اصلی پردازشی در ذهن خود مجسم کنید. تفاوت این الگوهای مستقل مانند تفاوت بین نقش و نگارهای موجود در فرشهای ایرانی نظیر درختان، اشکال مارپیچ، و… است.

بعضی از این الگوهای پردازشی کاملاً موازی هستند. بهعنوان مثال، روشهایی که بهعنوان Monte Carlo شناخته میشوند، نمونههای آزمایشی، مستقل و تصادفی از فرآیندهای فیزیکی را بهمنظور دستیابی به یک نتیجه کلیتر ارزیابی میکنند.

با استفاده از این رویکرد میتوانید کارهای مختلفی را انجام دهید. برای نمونه میتوانید مقدار عدد پی را محاسبهکنید. همچنین اتفاقاتی را که هنگام پرتاپ دارت بهسوی یک صفحه چهارگوش رخ میدهد، محاسبه کنید. اگر دارتها بهصورت تصادفی به صفحه اصابت کنند، چه کسری از آنها درون بزرگترین دایرهای که میتوان روی صفحه ترسیم کرد، قرار میگیرد؟ کافی است این عدد را برای تعداد مناسبی دارت محاسبه کنید تا مساحت دایره را بهدست آورید. با تقسیم این عدد بر مربع شعاع دایره میتوانید مقدار عدد پی را محاسبه کنید.

پیادهسازی سایر موضوعات بهطور موازی میتواند بسیار مشکل باشد. بهعنوان مثال، میتوان به مسئله متداول مرتبسازی اقلام براساس وضعیتهای از پیش تعیین شده اشاره کرد. در این مسئله قواعد انتقال از یک وضعیت به وضعیت دیگر، به مجموعهای از عوامل خارجی بستگی دارد. یک کامپیوتر ترتیبی، وضعیت بعدی را براساس وضعیت فعلی و عوامل خارجی موجود محاسبه میکند. وجود پردازندههای چندهستهای تأثیر چندانی بر افزایش سرعت این فرآیند ندارد. بنابراین، تنها روش تسریع محاسبه وضعیتها این است که پیش از فرا رسیدن زمان تغییر وضعیت آن را تعیین کنیم. اما این کار مستلزم گمانهزنی کامپیوتر درباره وضعیت بعدی و نحوه تغییر عوامل خارجی مؤثر بر آن است. اگر این گمانهزنی اشتباه باشد، بازیابی وضعیت مناسب میتواند سرعت اجرای فرآیند را به کمتر از روند محاسبه ترتیبی کاهش دهد. برای افزایش سرعت محاسبه با این روش باید امید داشته باشید، در اغلب موارد گمانهزنی کامپیوتر به واقعیت بپیوندد. حداقل میتوان گفت، یافتن یک روش مناسب برای برنامهنویسی این فرآیند گمانهزنی بسیار پیچیده است.

پیشبینی
نگارنده در سال ۱۹۹۵ پیشگوییهایی را در رابطه با پردازندهها در سال ۲۰۲۰ انجام داده بود. من انتظار داشتم، جامعه فناوری اطلاعات، روشهای برنامهنویسی موازی را پیش از تولید پردازندههای چندهستهای که در آن هنگام با عنوان «ریزچندپردازنده» معرفی کردم، کشف کنند. اکنون با دید کنونی در سال ۲۰۱۰ سه امکان را برای سال ۲۰۲۰ پیشبینی میکنم. نخستین امکان این است که متخصصان از ادامه راه منصرف شوند و این در شرایطی است که تعداد هستههای یک پردازنده به حداکثر ممکن برسد و رشد توان پردازشی از این طریق متوقف شود. این رخداد تأثیر بسیاری بر صنعت فناوری اطلاعات برجای میگذارد.

البته، پردازندهها هر سال ارزانتر میشوند و قیمت محصولات مبتنی بر این تراشهها نیز به تبع این سیر نزولی کاهش مییابد. با وجود این، دیگر ابزارهای پردازشی لوکس که تنها دارای جنبه زیبایی هستند، تولید نمیشوند. به عنوان نخستین گام در راستای کاهش قیمتها میتوان به حذف نتبوکها از بازار اشاره کرد. این رویکرد، فرآیند انتقال به محیطهای پردازش ابری را آسان میکند. زیرا سرورهایی که بار اصلی پردازش اطلاعات را برعهدهدارند، میتوانند قابلیتهای موازیسازی حاصل از بهکارگیری پردازندههای پر هسته را بهکارگیرند؛ این در حالی است که به احتمال کامپیوترهای رومیزی و قابلحمل چنین امکانی را ندارند.

امکان دوم این است که تعدادی از محققان بتوانند با وجود وضعیت نامناسب فعلی، روشهایی را برای برنامهنویسی موازی بیابند. به احتمال تنها نرمافزارهای چندرسانهای مانند بازیهای ویدیویی میتوانند از قابلیتهای موازیسازی سطح دادهها و افزایش تعداد هستههای پردازشی بهره بگیرند. به این ترتیب، پردازندههای سال ۲۰۲۰ برخلاف نمونههای امروزی بیشتر شبیه پردازندههای گرافیکی شرکت Nvidia، AMD و اینتل خواهند بود.

به این ترتیب پردازندههای گرافیکی از یک ابزار جانبی به یکی از مؤلفههای اصلی سیستمهای کامپیوتری تبدیل میشوند. این که آیا چنین برنامههایی توانایی بهدوش کشیدن بار رشد صنعت فناوری اطلاعات را دارند یا خیر، هنوز معلوم نیست.

البته خوشبینانهترین حالت این است که شخصی نحوه تولید یک نرمافزار قابل اتکا را با توانایی بهرهبرداری از هستههای پردازشی اضافی بیابد. این رخداد بستر موردنیاز را برای تولید پردازندههای سی سال آینده فراهم میکند. حتی اگر روال متداول سالانه دوبرابر شدن تعداد ترانزیستورهای موجود در یک پردازنده متوقف شود (پایان هولناک قانون مور)، ممکن است پکیجینگ هوشمندانه پردازندهها امکان ایجاد یک ساختار اقتصادی را براساس عرضه تراشهها در بستههای چندتایی فراهم کند. به این ترتیب، کاربران میتوانند با استفاده همزمان از چند پردازنده به افزایش کارایی موردنظر خود دست یابند.

با وجود این که نگارنده به دنبال دستیابی بههمین نتیجه است (و بسیاری از متخصصان دیگر نیز برای این منظور تلاش میکنند)، باید گفت احتمال وقوع وضعیت اخیر بسیار کمتر از دو وضعیت دیگر است. همانطور که تغییر آبو هوای جهان بعضی از ملتها را بیش از سایرین تحت تأثیر قرار میدهد، تأثیر وقایع صنعت پردازنده نیز بر کشورهای مختلف، نابرابر است.

بعضی از شرکتها در برابر عدم افزایش توان پردازشی تراشهها در مقایسه با سالهای گذشته، تسلیم میشوند؛ بعضی دیگر نیز از این تغییرات در سایر زمینههای پردازشی بهره میبرند. صرفنظر از این که چه اتفاقی در این صنعت رخ میدهد، حداقل پیگیری و مشاهده این اتفاقات برای طرفداران IT جالب است. دهه آینده پر از وقایع جالب خواهد

بود


نظرات شما عزیزان:

نام :
آدرس ایمیل:
وب سایت/بلاگ :
متن پیام:
:) :( ;) :D
;)) :X :? :P
:* =(( :O };-
:B /:) =DD :S
-) :-(( :-| :-))
نظر خصوصی

 کد را وارد نمایید:

 

 

 

عکس شما

آپلود عکس دلخواه:





نویسنده: شهاب آرامپور ׀ تاریخ: جمعه 28 مهر 1391برچسب:, ׀ موضوع: <-CategoryName-> ׀